package view.relatorios;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.text.ParseException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JPanel;
import javax.swing.JTextField;
import util.Mascaras;

public class AtestadoMedico extends JPanel{

    private JTextField jtfNomePaciente, jtfNomeMedico;
    private JFormattedTextField jftfDataInicio, jftfHoraInicio, jftfDataFim, jftfHoraFim;
    private JButton jbVisualizar, jbPesquisarPaciente, jbPesquisarMedico;
    private JPanel jpResultado, jpPaciente, jpMedico, jpCampos, j4, j5;
    
    public AtestadoMedico() {
        super();
        
        //Instânciar objetos
        jtfNomePaciente = new JTextField();
        jtfNomeMedico = new JTextField();
        jftfDataInicio = new JFormattedTextField();
        jftfHoraInicio = new JFormattedTextField();
        jftfDataFim = new JFormattedTextField();
        jftfHoraFim = new JFormattedTextField();
        jbVisualizar = new JButton("Visualizar");
        jbPesquisarPaciente = new JButton(new ImageIcon("src\\media\\lupa.png"));
        jbPesquisarMedico = new JButton(new ImageIcon("src\\media\\lupa.png"));
        jpResultado = new JPanel();
        jpPaciente = new JPanel(new BorderLayout(5, 5));
        jpMedico = new JPanel(new BorderLayout(5, 5));
        jpCampos = new JPanel(new GridLayout(1, 5, 5, 1));
        j4 = new JPanel(new GridLayout(1, 2));
        j5 = new JPanel(new GridLayout(2, 1));
                
        formatarCampos();
        
        //definir propriedades visuais
        jtfNomePaciente.setBorder(javax.swing.BorderFactory.createTitledBorder("Paciente"));
        jtfNomePaciente.setEditable(false);
        jtfNomeMedico.setBorder(javax.swing.BorderFactory.createTitledBorder("Médico"));
        jtfNomeMedico.setEditable(false);
        jftfDataInicio.setBorder(javax.swing.BorderFactory.createTitledBorder("Data de início"));
        jftfHoraInicio.setBorder(javax.swing.BorderFactory.createTitledBorder("Hora de início"));
        jftfDataFim.setBorder(javax.swing.BorderFactory.createTitledBorder("Data de fim"));
        jftfHoraFim.setBorder(javax.swing.BorderFactory.createTitledBorder("Hora de fim"));
        
        //definir layouts
        setLayout(new BorderLayout());
        //definir listeners
        
        //adicionar objetos a conteineres        
        jpPaciente.add(jbPesquisarPaciente, BorderLayout.WEST);
        jpPaciente.add(jtfNomePaciente, BorderLayout.CENTER);
        jpMedico.add(jbPesquisarMedico, BorderLayout.WEST);
        jpMedico.add(jtfNomeMedico, BorderLayout.CENTER);
        jpCampos.add(jftfDataInicio);
        jpCampos.add(jftfHoraInicio);
        jpCampos.add(jftfDataFim);
        jpCampos.add(jftfHoraFim);
        jpCampos.add(jbVisualizar);
        j4.add(jpPaciente);
        j4.add(jpMedico);
        j5.add(j4);
        j5.add(jpCampos);
        add(j5, BorderLayout.NORTH);
        add(jpResultado, BorderLayout.CENTER);
        
        //setar propriedades da tela e mostra-la
        setVisible(true);
    }
    
    private void formatarCampos() {
        try {
            Mascaras.maskData(jftfDataInicio);
            Mascaras.maskData(jftfDataFim);
            Mascaras.maskHora(jftfHoraInicio);
            Mascaras.maskData(jftfHoraFim);
        } catch (ParseException ex) {
            ex.printStackTrace();
        }
    } 
}
